package com.wyh.mapper.appmapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wyh.domain.vo.gruopfour.unifiedChargeVO.AreInvoiceHeaderVO;
import com.wyh.domain.po.gfour.AreIvoicetype;
import com.wyh.domain.vo.gruopfour.unifiedChargeVO.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UnifiedChargeMapper {
    List<ChargeTargetVO> getUnifiedCharge(@Param("ids") List<Integer> ids,
                                          @Param("layerId") Integer layerId,
                                          @Param("customerName") String customerName,
                                          @Param("customerPhone") String customerPhone,
                                          @Param("isVirtual") Integer isVirtual);

    /**
     * 选择客户
     * @param resourceId
     * @return
     */
    List<SelectCustomerVO> getSelectCustomer(Integer resourceId);


    /**
     * 获取余额
     * @param customerIds
     * @return
     */
    List<SelectCustomerVO> getSpecialAmount(List<Integer> customerIds);

    List<SingleAreceivableVO> getUnifiedChargeByCustomer(@Param("customerid") Integer customerid);

    String getResourceNameByResourceId(@Param("resourceid") Integer resourceid);

     AreceivableSumVO getSumDaifuMoneyByIds (@Param("billdetailsids")List billdetailsids);

    AreceivableSumVO  getSumDeductionsByIds(@Param("billdetailsids")List billdetailsids);


    List<AreceivableDetailVO> getBillDetailsWithLagGoldAndDaifuMoneyByIds(@Param("billdetailsids") List billdetailsids);

    List<AreIvoicetype>  getIvoicetypeAndName();

    List<AreInvoiceHeaderVO> getInvoiceheader(@Param("customerid") Integer customerid);



}
